<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="vo.WinNumVO"%>
<%@page import="java.util.List"%>
<%@page import="mybatis.conService.ServiceFactory"%>
<%@page import="org.apache.ibatis.session.SqlSession"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>

<%
	SqlSession ss = ServiceFactory.getFactory().openSession();

	int nowPage = 1;//현재 페이지 값
	int nowBlock = 1;//현재 블럭
	int totalRecord = 0;//총 게시물 수
	int numPerPage = 10;//한 페이지당 보여질 게시물 수
	int pagePerBlock = 10;//한 블럭당 보여질 페이지 수
	int totalPage = 0;//전체 페이지 수
	int totalBlock = 0;//전체 블럭 수
	int beginPerPage = 0;//페이지 마다 시작 게시물의 index값
	int endPerPage = 0;//페이지 마다 마지막 게시물의 index값

	//총 게시물을 먼저 구해야 총 페이지 수를 구할 수 있고,
	//그 다음 블럭의 수 등을 구할 수 있다.

	Object obj = session.getAttribute("totalRecord");
	if (obj != null)
		totalRecord = (Integer) obj;
	else {
		totalRecord = ss.selectOne("winNumCount");
		session.setAttribute("totalRecord", totalRecord);
	}
	//총 페이지 수를 구한다.
	// 	totalPage = totalRecord/numPerPage;//52/10->5 --나머지 값이 있을 경우 1증가
	// 	if(totalRecord%numPerPage != 0)
	// 		totalPage++;
	//위와 똑같은 움직임의 메서드 사용
	totalPage = (int) Math.ceil(totalRecord / (double) numPerPage);
	String cPath = request.getParameter("cPath");

	if (cPath != null) {
		nowPage = Integer.parseInt(cPath);
	}
	//MyBatis의 SQL Mapper에서 사용할 begin과 end값을 구한다.
	//예를들어 현재 페이지(nowPage)가 3일때 시작 index는 21이어야 한다.
	//연산:(nowPage-1)*numPerPage+1;

	beginPerPage = (nowPage - 1) * numPerPage + 1;
	endPerPage = (beginPerPage - 1) + numPerPage;
	Map<String, Integer> map = new HashMap<String, Integer>();
	map.put("begin", beginPerPage);
	map.put("end", endPerPage);

	List<WinNumVO> list = ss.selectList("winNumPagingList", map);

	//시작 페이지 값 구하기
	int startPage = (int) ((nowPage - 1) / pagePerBlock) * pagePerBlock
			+ 1;

	//한 블럭에 표현될 마지막 페이지 값 구하기
	int endPage = startPage + pagePerBlock - 1;

	//위와 같이 하다보면 마지막 페이지(endPage)가
	//전체 페이지 값(totalPage) 보다 큰 경우가 발생한다.
	//예)총 게시물 : 52
	//   총 페이지수 : 6
	//[다음]버튼을 눌러 두번째 블럭으로 이동될 때 시작 페이지가 6이고
	//마지막 페이지가 10된다.이렇게 되면 없는 페이지 값을 표현하게 되어
	//사용자로 하여금 혼란스럽게 된다.
	if (endPage > totalPage)
		endPage = totalPage;
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

<style type="text/css">
div#winNumPagingWrap {
	width: 100%;
	height: 100%;
}

div#listWinNumD{
	width:100%;
	margin: auto;
}
ol.paging{
	
	list-style: none;
	

}
ol.paging li{

	float:left;
	margin-left: 5px;
	
	
}
ol.paging li.now{

	float:left;
	margin-left: 5px;
	border: 1px solid #c188a4;
	padding: 2px 5px;
	background-color: #c188a4;
	
}



ol.paging li a.numList{
	display: block;
	border: 1px solid #c188a4;
	padding: 2px 5px;
	
}
ol.paging li a.blockjump{
	display: block;
}
ol.paging li a{
	text-decoration: none;
}









div#addWinNumD form{

    width:98%;
    margin:auto;
	padding:1% ;
	font-size: 15px;
}

div#addWinNumD form fieldset{

    width:100%;
	border: 1px solid #c188a4;

}

.intext {
	width: 3%;
	border: 1px solid red;
}

#addWinNumT {
	width: 100px;
}
.inSubmit{
	margin-left: 1%;
	margin-bottom: 1%;
	padding-top: 5px;
}
.inBtn{
	margin-left: 70%;
	margin-bottom: 1%;
	padding-top: 5px;
}

div table thead tr th{
	padding: 2px 3px;
	font-size: 13px;
	border: 1px solid #dedede;
	
}
div table tbody tr td{
	padding: 2px 3px;
	font-size: 13px;
	border: 1px solid #dedede;
}
.num{
	width:45px;


}
/*
div tr {
	text-align: center;
}

div tr td,th {
	margin-left: 8px;
	border: 1px solid #dedede;
}

div ol.paging {
	list-style: none;
}

div ol.paging li {
	float: left;
	margin-left: 6px;
}

table tfoot ol.paging li a:hover {
	background: #00B3DC;
	color: white;
	font-weight: bold;
}

table {
	width:800px;
}

table tfoot ol.paging li a {
	display: block;
	padding: 3px 7px;
	border: 1px solid #00B3DC;
	color: #2f313e;
	font-weight: bold;
}
table.addWinNumT  tr td{
	width : 5px;
}
form {
	width:800px;
}*/
</style>
<script type="text/javascript">
	window.onload = function() {

		document.getElementById("addWinNumD").style.display = "none";
	};
	function viewAddWinNum() {

		document.getElementById("listWinNumD").style.display = "none";
		document.getElementById("addWinNumD").style.display = "inline";
		
    }
	function viewListWinNum() {

		document.getElementById("listWinNumD").style.display = "inline";
		document.getElementById("addWinNumD").style.display = "none";
	}

</script>
</head>
<body>
	<div id="winNumPagingWrap">
		<div id="listWinNumD">
			<table cellpadding="1" cellspacing="0" id="listWinNumT">
				<caption style="text-align: left;">
					<img src="../img/winNumList.JPG" />
				</caption>
				<thead>
					<tr>
						<th>번호</th>
						<th>회차</th>
						<th>번호1</th>
						<th>번호2</th>
						<th>번호3</th>
						<th>번호4</th>
						<th>번호5</th>
						<th>번호6</th>
						<th>보너스</th>
						<th>추첨날짜</th>
					</tr>
				</thead>
				<tbody>
					<%
						int index = 0;
						for (WinNumVO vo : list) {
					%>
					<tr>
						<td><%=totalRecord - ((nowPage - 1) * numPerPage + index++)%></td>
						<td><%=vo.getChapter()%></td>
						<td class="num"><%=vo.getNum1()%></td>
						<td class="num"><%=vo.getNum2()%></td>
						<td class="num"><%=vo.getNum3()%></td>
						<td class="num"><%=vo.getNum4()%></td>
						<td class="num"><%=vo.getNum5()%></td>
						<td class="num"><%=vo.getNum6()%></td>
						<td class="num"><%=vo.getNum7()%></td>
						<td><%=vo.getWin_date()%></td>
					</tr>
					<%
						}
						if (list == null || list.size() == 0) {
					%>
					<tr>
						<td colspan="10" class="init">현재 등록된 개시물이 없습니다.</td>
					</tr>
					<%
						}
					%>
				</tbody>
				<tfoot>
					<tr>
						<td colspan="10">
							<ol class="paging">
								<%
									if (nowPage <= pagePerBlock) {
								%>
								<li>◁pre</li>
								<%
									} else {
								%>
								<li><a href='index.jsp?cPath=<%=(((nowPage - 2) / pagePerBlock) * pagePerBlock) + 1%>'class="blockjump">◀pre</a></li>
								<%
									}
									for (int i = startPage; i <= endPage; i++) {

										if (i == nowPage) {
								%>
								<li class="now"><%=i%></li>
								<%
									} else {
								%>
								<li><a href='index.jsp?cPath=<%=i%>' class="numList"><%=i%></a></li>
								<%
									}
									}
									if (endPage >= totalPage) {
								%>
								<li>next▷</li>
								<%
									} else {
								%>
								<li><a href='index.jsp?cPath=<%=(((nowPage / pagePerBlock) + 1) * pagePerBlock) + 1%>' class="blockjump">next▶</a></li>
								<%
									}
								%>
							</ol>
						</td>
					</tr>
					<tr>
						<td colspan="8"/>
						<td><input type="button" value="전체보기" /></td>

						<td><input type="button" value="당첨번호입력"
							onclick="javascript:viewAddWinNum()" /></td>
					</tr>
				</tfoot>
			</table>
		</div>
		<div id="addWinNumD">
			<form action="addWinNum.jsp" method="post">
				<fieldset>
					<legend>번호입력</legend>
					&nbsp;번호: <%=totalRecord + 1%>&nbsp;&nbsp;&nbsp;
					회차: <%=totalRecord + 1%><br/>
					&nbsp;번호1: <input type="text" name="num1" class="intext"/>&nbsp;
					번호2: <input type="text" name="num2" class="intext"/>&nbsp;
					번호3: <input type="text" name="num3" class="intext"/>&nbsp; 
					번호4: <input type="text" name="num4" class="intext"/>&nbsp; 
					번호5: <input type="text" name="num5" class="intext"/>&nbsp;
					번호6: <input type="text" name="num6" class="intext"/>&nbsp;
					&nbsp;보너스: <input type="text" name="num7" class="intext" /><br/><br/>
					<input type="button" value=" 전단계 " class="inBtn" onclick="javascript:viewListWinNum()" />
					<input type="submit" value=" 저 장 " class="inSubmit" />
					
					<input type="hidden" name="chapter" value="<%=totalRecord + 1%>">
				</fieldset>
			</form>
		</div>
	</div>
</body>
</html>